#if !defined(AFX_DLGPE_H__DAC4C03A_F8C9_4200_8404_51371E34DD29__INCLUDED_)
#define AFX_DLGPE_H__DAC4C03A_F8C9_4200_8404_51371E34DD29__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DlgPE.h : header file
//
#include "../common\src/peinfo.h"
#include "resource.h"
/////////////////////////////////////////////////////////////////////////////
// CDlgPE dialog
#define DOS_HEARDER 0x00000011
#define NT_HEARDER 0x00000020
#define NT_FILE_HEARDER 0x00000021
#define NT_OPTIONAL_HEARDER 0x00000022
#define SECTION_HEADER 0x00000030
#define SECTION_CODE 0x00000031
#define SECTION_DATA 0x00000032

class CDlgPE : public CDialog
{
// Construction
public:
	CDlgPE(CWnd* pParent = NULL);   // standard constructor
	~CDlgPE();  

// Dialog Data
	//{{AFX_DATA(CDlgPE)
	enum { IDD = IDD_DLG_PE };
	CListCtrl	m_lcInfo;
	CTreeCtrl	m_tcPeDir;
	CString	m_csFileName;
	//}}AFX_DATA
	CPEInfo m_piPeInfo;
	IMAGE_DOS_HEADER m_idhHeader;
	IMAGE_NT_HEADERS m_inhHeader;
	IMAGE_SECTION_HEADER   * m_ishHeader;
	bool AddSection_baseInfo(int nindex);
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDlgPE)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CDlgPE)
	afx_msg void OnBnReadfile();
	virtual BOOL OnInitDialog();
	afx_msg void OnClickTreePedir(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnSelchangedTreePedir(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnBnSelect();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	HFILE m_hFile;
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_DLGPE_H__DAC4C03A_F8C9_4200_8404_51371E34DD29__INCLUDED_)
